package com.neusoft.weekreport.component.FileUtil;

import org.apache.commons.beanutils.converters.DateConverter;

import java.io.File;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.logging.SimpleFormatter;

/**
 * @Author liu.jiaming
 * @Create 2022/11/10 10:08
 */
public class getFile {

    public static List<getFileResp> getFile(String path) {

        File file = new File(path);
        //获取目录下子文件
        File[] files = file.listFiles();
        //定义数组
        List<getFileResp> list = new ArrayList<>();

        //遍历该目录下的文件对象
        for (File f : files) {
            //判断子目录是否存在子目录
            if (!f.isDirectory()) {
                getFileResp getFileResp = new getFileResp();
                getFileResp.setFileName(f.getName());
                Long lastModified = f.lastModified();
                //获取文件更新时间
                String fileUploadDate = date(lastModified);
                getFileResp.setFile_update_date(fileUploadDate);
                getFileResp.setFilePath(f.getPath());
                //获取文件大小KB
                getFileResp.setFile_size(String.valueOf(fileSize(f.length())));
                list.add(getFileResp);
            }
        }
        return list;
    }


    //时间转换
    public static String date(Long lastModified) {
        Date date = new Date(lastModified);
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:MM");
        String dd = sdf.format(date);
        return dd;
    }

    //解决文件大小显示0KB
    public static Long fileSize(Long fileLength) {
        return fileLength/1024 + 1;
    }


}